Skip to content

Conversation

@eneshoxha
Copy link
Contributor

No description provided.

eneshoxha and others added 11 commits October 21, 2025 01:10
Add YAML serialization/deserialization library

Introduced `Cortex.Serialization.Yaml`, a new library for YAML serialization and deserialization. Added `YamlDeserializer` and `YamlSerializer` classes with support for custom naming conventions, type converters, and flexible property handling. Implemented attributes (`YamlIgnoreAttribute`, `YamlPropertyAttribute`) for customization and `YamlException` for error handling.

Added settings classes (`YamlDeserializerSettings`, `YamlSerializerSettings`) to configure behavior. Introduced `INamingConvention` and implementations (e.g., `CamelCaseConvention`, `SnakeCaseConvention`) for property name transformations.

Implemented a YAML parsing system with `Scanner`, `Parser`, and `Emitter` components, along with utility classes for reflection (`CachedTypeInfo`, `PropertyMap`, `TypeInspector`) and string transformations (`StringUtils`). Added `YamlConverterAttribute` for associating custom type converters.
Update package icon and add validation behavior

Replaced `andyX.png` with `cortex.png` as the package icon in the project files, reflecting a branding update. Updated the `<PackageIcon>` property and asset references in `Cortex.Mediator.Behaviors.FluentValidation.csproj`.

Added a new `ValidationCommandBehavior<TCommand>` class in `VoidValidationCommandBehavior.cs`. This class implements `ICommandPipelineBehavior<TCommand>` and introduces command validation using FluentValidation, throwing a `ValidationException` for validation failures.
v2/feature/ #148: Implement ValidationCommandBehavior<TCommand>
Add async support to data store interfaces and refactor

Refactor `IDataStore` into its own file for better modularity.
Introduce `IAsyncDataStore` with async methods like `GetAsync`,
`PutAsync`, and `RemoveAsync`, including `IAsyncEnumerable`
support for .NET Standard 2.1+ and .NET Core 3.0+.

Update `InMemoryStateStore` to implement `IAsyncDataStore`,
adding async methods for key-value operations. Improve input
validation in the constructor.

Reorganize namespaces and add conditional compilation for
framework-specific features. These changes enhance scalability,
modernize the API, and improve maintainability.
v2/feature/ #158: Add Async/Await support
…idation-to-be-used

Feature/164 allow fluentvalidation to be used
Removed the IConfiguration parameter from AddCortexMediator and made the configure parameter non-nullable. This streamlines service registration and eliminates the need to provide a configuration object.
v2.2/bug/161: Refactor AddCortexMediator method signature
@eneshoxha eneshoxha added this to the Cortex v2.2 milestone Jan 24, 2026
@eneshoxha eneshoxha self-assigned this Jan 24, 2026
@eneshoxha eneshoxha added the feature This label is in use for minor version increments label Jan 24, 2026
@eneshoxha eneshoxha merged commit b9cf456 into v2/main Jan 24, 2026
@eneshoxha eneshoxha deleted the v2.2/release branch January 24, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature This label is in use for minor version increments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants